1
Introdução da Aula 3: Lidando com a Classificação Não Linear
EvoClass-AI002Lecture 3
00:00

Estamos ultrapassando as limitações dos modelos lineares, que têm dificuldade em classificar dados que não são separáveis por uma linha reta. Hoje, aplicamos o fluxo de trabalho do PyTorch para construir um Rede Neural Profunda (RNP) capaz de aprender fronteiras de decisão complexas e não lineares essenciais para tarefas reais de classificação.

1. Visualizando a Necessidade de Dados Não Lineares

Nosso primeiro passo é criar um conjunto de dados sintético desafiador, como a distribuição de dois meios-círculos, para demonstrar visualmente por que modelos lineares simples falham. Essa configuração nos obriga a usar arquiteturas profundas para aproximar a curva intricada necessária que separa as classes.

Propriedades dos Dados

  • Estrutura dos Dados: Características de dados sintéticos (por exemplo, $1000 \times 2$ para $1000$ amostras com 2 características).
  • Tipo de Saída: Um único valor de probabilidade, geralmente torch.float32, representando a pertença à classe.
  • Objetivo: Criar uma fronteira de decisão curva por meio de cálculos em camadas.
O Poder das Ativações Não Lineares
O princípio fundamental das RNPs é a introdução de não linearidade nas camadas ocultas por meio de funções como ReLU. Sem essas, empilhar camadas simplesmente resultaria em um grande modelo linear, independentemente da profundidade.
data_setup.py
TERMINALbash — classification-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary purpose of the ReLU activation function in a hidden layer?
Introduce non-linearity so deep architectures can model curves
Speed up matrix multiplication
Ensure the output remains between 0 and 1
Normalize the layer output to a mean of zero
Question 2
Which activation function is required in the output layer for a binary classification task?
Sigmoid
Softmax
ReLU
Question 3
Which loss function corresponds directly to a binary classification problem using a Sigmoid output?
Binary Cross Entropy Loss (BCE)
Mean Squared Error (MSE)
Cross Entropy Loss
Challenge: Designing the Core Architecture
Integrating architectural components for non-linear learning.
You must build a nn.Module for the two-moons task. Input features: 2. Output classes: 1 (probability).
Step 1
Describe the flow of computation for a single hidden layer in this DNN.
Solution:
Input $\to$ Linear Layer (Weight Matrix) $\to$ ReLU Activation $\to$ Output to Next Layer.
Step 2
What must the final layer size be if the input shape is $(N, 2)$ and we use BCE loss?
Solution:
The output layer must have size $(N, 1)$ to produce a single probability score per sample, matching the label shape.